import axios from 'axios'

// 区分开发环境或生产环境所用到的接口
const baseURL = process.env.NODE_ENV === 'development' ? 'http://localhost:9527' : '真实接口'
// 创建axios实例
const service = axios.create({
	baseURL,
	timeout: 5000
})

// 请求拦截
service.interceptors.request.use(config => {
	// 通常会在请求头中向后端发送用户身份的token
	config.headers = {
		'x-token': 'sfasfagsds'
	}
	return config
})

// 响应拦截
service.interceptors.response.use(res => {
	if (res.status >= 200 && res.status < 300) {
		// 获取后端数据
		const resData = res.data
		if (resData.code === 200) {
			return resData.data
		} else {
			// 如果token失效，需要删除本地 webStorage 存储的用户登
			// 录数据及 redux store 中保存的数据
			// 跳转到登录页面，重新登录
			 // TODO..............
			return Promise.reject(resData)
		}
	} else {
		return Promise.reject(res)
	}
})

export default service